如何用<img src=X.asp?参数名=参数值>将数据库里查询到的图片输出到网页上?

来源:百度知道 编辑:UC知道 时间:2024/07/02 22:43:03
由于论坛不支持ASP代码,只支持HTML代码,想通过数据库里存的图片地址将图片输出到网页上, X.ASP页面现已接收到传来的参数并查询到所需的图片了,但还是无法用HTML的<img src=X.asp?参数名=参数值>来输出,请问这该怎么解决,谢谢!
alun0829你真是厉害,这个问题好多人都回答不了,不过这样设计不能隐藏图片的地址,在论坛的HTML代码里显示的地址仍是<img src=X.asp?参数名=参数值>,但如果把X.asp?参数名=参数值粘贴到IE地址栏就会暴露出图片的真实地址,比如象这个计数器的地址,w-w-w-.-linkhelper.-c-n-/-getpr.-a-s-p-?-que-ry-u-r-l-=w-w-w.-newbooks-.-c-o-m-.c-n-&-sho-w-=-3 在地址栏里最终显示的是一幅图片地址,而且无论从地址栏还是源代码中都得不到图片的真实地址,但任何人都可引用这幅图片
百度不让登链接,以上链接你去掉"-"就能显示,或者你不用打开此链接,将链接粘贴到<IMG>标签之后就明白了,谢谢,如能解决我再加30分.
感谢dzut,你的方法意思是得到图片的地址后将图片读取一个二进制流对象里边吧,不过加上Response.AddHeader "Content-Disposition", "Attachment;Filename= 这句会跳出一个保存图片的对话框,这个怎么去掉?

一种解决方法:将X.ASP做为JS脚本形式包含在HTML页面里。
比如在要插入该图片的地方加上<script src="X.asp"></script>

X.ASP文件查询图片地址,假定查询后的地址为yy.gif,则在X.asp文件的最后使用response.write("document.write('<img src=""yy.gif"">');")

这样就行了

<%
Function ReadBinaryFile(FileName)
Const adTypeBinary = 1
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.LoadFromFile FileName
ReadBinaryFile = BinaryStream.Read
End Function

'Path=Request.QueryString("url")'图片路径Path可通过参数等方式传递,比如pic.asp?url=1.jpg
Path="Winter.jpg"'图片在服务器上的相对路径
Path=Server.Mappath(Path)'转换成物理路径
Response.AddHeader "Content-Disposition", "Attachment;Filename=已隐藏实际地址的图片.jpg" '图片另存为时的文件名
Response.ContentType = "image/JPEG"'文档类型
Response.Binarywr